{
 "metadata": {
  "signature": "sha256:1c3d54ca3a0a1dbc39e65f46ccd1297a2548af377acbcc803a73b62c34706565"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Eye Diagram\n",
      "======================================================================\n",
      "\n",
      "The code below generates the following plot:\n",
      "\n",
      "![](files/attachments/EyeDiagram/eye-diagram3.png)\n",
      "\n",
      "The main script generates \\`num\\_traces\\` traces, and on a grid of\n",
      "600x600, it counts the number times a trace crosses a grid point. The\n",
      "grid is then plotted using matplotlib's imshow() function. The counting\n",
      "is performed using [Bresenham's line algorithm](http://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm), to ensure\n",
      "that the counting is correct, and steep parts of the curve don't result\n",
      "in missed counts.\n",
      "\n",
      "Bresenham's algorithm is slow in pure Python, so a Cython version is\n",
      "included. If you do not build the Cython version of the Bresenham code,\n",
      "be sure to reduce \\`num\\_traces\\` before running the program!\n",
      "\n",
      "Here's the main demo script, eye\\_demo.py."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#!python\n",
      "import numpy as np\n",
      "\n",
      "use_fast = True\n",
      "try:\n",
      "    from brescount import bres_curve_count\n",
      "except ImportError:\n",
      "    print \"The cython version of the curve counter is not available.\"    \n",
      "    use_fast = False\n",
      "\n",
      "\n",
      "def bres_segment_count_slow(x0, y0, x1, y1, grid):\n",
      "    \"\"\"Bresenham's algorithm.\n",
      "\n",
      "    The value of grid[x,y] is incremented for each x,y\n",
      "    in the line from (x0,y0) up to but not including (x1, y1).\n",
      "    \"\"\"\n",
      "\n",
      "    nrows, ncols = grid.shape\n",
      "\n",
      "    dx = abs(x1 - x0)\n",
      "    dy = abs(y1 - y0)\n",
      "\n",
      "    sx = 0\n",
      "    if x0 < x1:\n",
      "        sx = 1\n",
      "    else:\n",
      "        sx = -1\n",
      "    sy = 0\n",
      "    if y0 < y1:\n",
      "        sy = 1\n",
      "    else:\n",
      "        sy = -1\n",
      "\n",
      "    err = dx - dy\n",
      "\n",
      "    while True:\n",
      "        # Note: this test is moved before setting\n",
      "        # the value, so we don't set the last point.\n",
      "        if x0 == x1 and y0 == y1:\n",
      "            break\n",
      "\n",
      "        if 0 <= x0 < nrows and 0 <= y0 < ncols:\n",
      "            grid[x0, y0] += 1\n",
      "\n",
      "        e2 = 2 * err\n",
      "        if e2 > -dy:\n",
      "            err -= dy\n",
      "            x0 += sx\n",
      "        if e2 < dx:\n",
      "            err += dx\n",
      "            y0 += sy\n",
      "\n",
      "def bres_curve_count_slow(x, y, grid):\n",
      "    for k in range(x.size - 1):\n",
      "        x0 = x[k]\n",
      "        y0 = y[k]\n",
      "        x1 = x[k+1]\n",
      "        y1 = y[k+1]\n",
      "        bres_segment_count_slow(x0, y0, x1, y1, grid)\n",
      "\n",
      "\n",
      "def random_trace(t):\n",
      "    s = 2*(np.random.randint(0, 5) % 2) - 1\n",
      "    r = 0.01 * np.random.randn()\n",
      "    s += r\n",
      "    a = 2.0 + 0.001 * np.random.randn()\n",
      "    q = 2*(np.random.randint(0, 7) % 2) - 1\n",
      "    t2 = t + q*(6 + 0.01*np.random.randn())\n",
      "    t2 += 0.05*np.random.randn()*t\n",
      "    y = a * (np.exp(s*t2) / (1 + np.exp(s*t2)) - 0.5) + 0.07*np.random.randn()\n",
      "    return y\n",
      "\n",
      "\n",
      "if __name__ == \"__main__\":\n",
      "    import matplotlib.pyplot as plt\n",
      "    grid_size = 600\n",
      "    grid = np.zeros((grid_size, grid_size), dtype=np.int32)\n",
      "\n",
      "    tmin = -10.0\n",
      "    tmax = 10.0\n",
      "    n = 81\n",
      "    t = np.linspace(tmin, tmax, n)\n",
      "    dt = (tmax - tmin) / (n - 1)\n",
      "\n",
      "    ymin = -1.5\n",
      "    ymax = 1.5\n",
      "\n",
      "    num_traces = 1000\n",
      "\n",
      "    for k in range(num_traces):\n",
      "\n",
      "        # Add some noise to the times at which the signal\n",
      "        # will be sampled.  Without this, all the samples occur\n",
      "        # at the same times, and this produces an aliasing\n",
      "        # effect in the resulting bin counts.\n",
      "        # If n == grid_size, this can be dropped, and t2 = t\n",
      "        # can be used instead. (Or, implement an antialiased\n",
      "        # version of bres_curve_count.)\n",
      "        steps = dt + np.sqrt(0.01 * dt) * np.random.randn(n)\n",
      "        steps[0] = 0\n",
      "        steps_sum = steps.cumsum()\n",
      "        t2 = tmin + (tmax - tmin) * steps_sum / steps_sum[-1]\n",
      "\n",
      "        td = (((t2 - tmin) / (tmax - tmin)) * grid_size).astype(np.int32)\n",
      "\n",
      "        y = random_trace(t2)\n",
      "\n",
      "        # Convert y to integers in the range [0,grid_size).\n",
      "        yd = (((y - ymin) / (ymax - ymin)) * grid_size).astype(np.int32)\n",
      "\n",
      "        if use_fast:\n",
      "            bres_curve_count(td, yd, grid)\n",
      "        else:\n",
      "            bres_curve_count_slow(td, yd, grid)\n",
      "\n",
      "    plt.figure()\n",
      "    # Convert to float32 so we can use nan instead of 0.\n",
      "    grid = grid.astype(np.float32)\n",
      "    grid[grid==0] = np.nan\n",
      "    plt.grid(color='w')\n",
      "    plt.imshow(grid.T[::-1,:], extent=[0,1,0,1], cmap=plt.cm.coolwarm,\n",
      "               interpolation='gaussian')\n",
      "    ax = plt.gca()\n",
      "    ax.set_axis_bgcolor('k')\n",
      "    ax.set_xticks(np.linspace(0,1,11))\n",
      "    ax.set_yticks(np.linspace(0,1,11))\n",
      "    ax.set_xticklabels([])\n",
      "    ax.set_yticklabels([])\n",
      "    plt.colorbar()\n",
      "    fig = plt.gcf()\n",
      "\n",
      "    #plt.savefig(\"eye-diagram.png\", bbox_inches='tight')\n",
      "    plt.show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The cython version of the curve counter is not available.\n"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "iVBORw0KGgoAAAANSUhEUgAAARYAAADtCAYAAAB6b1ohAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsvXeYXcd14Pmruvnl17kboRuZRCABMCtRsrJlWfZ8TpIs\nrS0HrVe2ZHlWDuNx3PHaHq0tS+MwDhqHXVlyGAdJpmRlipSYSYAEARAk0EiNzv3yu7lq/rhAg6QA\ndgNoSKC2f9/3vn7v3upTVTece86pqnNhlVVWWWWVVVZZZZVVVllllVVWWWWVVVZZZZVVVllllVVW\nWWWVVS4Z8UI78/m87nQ636y2rLLKKuc5Cmy+EgEFpG6jllu8BvRcSX3P5gUVC6BXqqJVVlnlklnq\n/lwK/W/etmUVfJP/1ErUt4hcKUGXyujo6Krcqyj3asp+scm9mrKvZptXAmmKZX1WvN4Vl7jKKqtc\nMwhLLutzAcrAHwCfBz4AFIG/JXPR/nLJepfYv+oKrbLKt44rdoU+v2bnsgq+duLA8+vbAzx2dtvn\ngD8B/g1QwCPAjwEPXUyeeVnNXWWVVV4UXIGb89jZvy8F/hz4FBCf3XYQmH/Bei+31ivlzjvvXJV7\nFeVeTdkvNrlXU/bVbPNKICyxrM9F2AD8CPCrnNcVLnAaOPZC9a5aLKus8m3MxSyWxzpt9nXbS/37\nOPDjwEeBnWQu0A+QKZoXZDXGssoq1y5XHGO5e8fuZRW888l9L1Tf7wG/BdwBPADMAeuAUxeTt2qx\nrLLKtzHSuGzd9OtkyuN/AncBrwP+K9AADOAjwH+/aL2XW+uV8mLzeV9scq+m7Beb3Ksp+5qPsUix\nrM8F+HWykZ+7gC8CnwDWA7uA7byAUoFVi2WVVb6tMWzjW1LvaoxllVWuXa44xnL/7bcuq+Dt9z+4\nEvUtsmqxrLLKtzFXEGO5snq/JbXy4vN5X2xyr6bsF5vcqyn7mo+xGGJZn5Vm1WJZZZVvY4T81tgO\nqzGWVVa5drniGMsj3/HSZRW86UtfW4n6Flm1WFZZ5duY1RjLqtwXjewXm9yrKftaj7FI01jWZ6VZ\n0mLpHX7lilcKUO69kd7hldemq3IzVBrieIN4+fUX3O93Tq54natce1xk8tvVr3eJ/asxlm9bLnzq\nN+76ucXv4wc+vPhd6+Sqt2iVb+CKYywHvvtVyyq485NfXon6FlmNsfz/lgs/M4498XsX3G6YeQCk\n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\nKP4Pq3xcLeRaxlIAAAAASUVORK5CYII=\n",
       "text": [
        "<matplotlib.figure.Figure at 0x7fb13849ca90>"
       ]
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Here's brescount.pyx, the Cython implementation of Bresenham's line\n",
      "algorithm:"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#!python\n",
      "import numpy as np\n",
      "cimport numpy as np\n",
      "cimport cython\n",
      "\n",
      "\n",
      "@cython.boundscheck(False)\n",
      "cdef int bres_segment_count(unsigned x0, unsigned y0,\n",
      "                            unsigned x1, unsigned y1,\n",
      "                            np.ndarray[np.int32_t, ndim=2] grid):\n",
      "    \"\"\"Bresenham's algorithm.\n",
      "\n",
      "    See http://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm\n",
      "    \"\"\"\n",
      "\n",
      "    cdef unsigned nrows, ncols\n",
      "    cdef int e2, sx, sy, err\n",
      "    cdef int dx, dy\n",
      "\n",
      "    nrows = grid.shape[0]\n",
      "    ncols = grid.shape[1]\n",
      "\n",
      "    if x1 > x0:\n",
      "        dx = x1 - x0\n",
      "    else:\n",
      "        dx = x0 - x1\n",
      "    if y1 > y0:\n",
      "        dy = y1 - y0\n",
      "    else:\n",
      "        dy = y0 - y1\n",
      "\n",
      "    sx = 0\n",
      "    if x0 < x1:\n",
      "        sx = 1\n",
      "    else:\n",
      "        sx = -1\n",
      "    sy = 0\n",
      "    if y0 < y1:\n",
      "        sy = 1\n",
      "    else:\n",
      "        sy = -1\n",
      "\n",
      "    err = dx - dy\n",
      "\n",
      "    while True:\n",
      "        # Note: this test occurs before increment the\n",
      "        # grid value, so we don't count the last point.\n",
      "        if x0 == x1 and y0 == y1:\n",
      "            break\n",
      "\n",
      "        if (x0 < nrows) and (y0 < ncols):\n",
      "            grid[x0, y0] += 1\n",
      "\n",
      "        e2 = 2 * err\n",
      "        if e2 > -dy:\n",
      "            err -= dy\n",
      "            x0 += sx\n",
      "        if e2 < dx:\n",
      "            err += dx\n",
      "            y0 += sy\n",
      "\n",
      "    return 0\n",
      "\n",
      "\n",
      "def bres_curve_count(np.ndarray[np.int32_t, ndim=1] x,\n",
      "                     np.ndarray[np.int32_t, ndim=1] y,\n",
      "                     np.ndarray[np.int32_t, ndim=2] grid):\n",
      "    cdef unsigned k\n",
      "    cdef int x0, y0, x1, y1\n",
      "\n",
      "    for k in range(len(x)-1):\n",
      "        x0 = x[k]\n",
      "        y0 = y[k]\n",
      "        x1 = x[k+1]\n",
      "        y1 = y[k+1]\n",
      "        bres_segment_count(x0, y0, x1, y1, grid)\n",
      "    if 0 <= x1 < grid.shape[0] and 0 <= y1 < grid.shape[1]:\n",
      "        grid[x1, y1] += 1"
     ],
     "language": "python",
     "metadata": {},
     "outputs": []
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "This file, setup.py, can be used to build the Cython extension module:"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#!python\n",
      "from distutils.core import setup\n",
      "from distutils.extension import Extension\n",
      "from Cython.Distutils import build_ext\n",
      "\n",
      "import numpy\n",
      "\n",
      "ext = Extension(\"brescount\", [\"brescount.pyx\"],\n",
      "    include_dirs = [numpy.get_include()])\n",
      "                \n",
      "setup(ext_modules=[ext],\n",
      "      cmdclass = {'build_ext': build_ext})"
     ],
     "language": "python",
     "metadata": {},
     "outputs": []
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "To build the extension module, you must have Cython installed.\n",
      "\n",
      "You can build the extension module as follows:"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "``$ python setup.py build_ext --inplace``"
     ]
    }
   ],
   "metadata": {}
  }
 ]
}